// Just some version info

#pragma once
#include "../ScriptHook/Version.h"
#include "../ScriptHook/Game.h"

namespace GTA
{

	public enum class eGameVersion
    {
        VersionAutoDetect,
        Version101,
        Version102,
        Version103,
        Version104,
        Version104u5,
        VersionMax,
    };

	public ref class Version : MarshalByRefObject
	{
	public:
		static const bool Debug = true;

		static String^ GTAScriptVersionIdentifier = "0.0.3.0";
		static u32 GTAScriptVersion = 30;

		static String^ HookVersionIdentifier = ScriptHookVersionIdentifier;
		static u32 HookVersion = ScriptHookVersion;

		static property String^ GameVersionIdentifier
		{
			String^ get()
			{
				GTA::eGameVersion version = (eGameVersion) Game::GetVersion();
				if (version == eGameVersion::Version104u5) return "1.0.0.4 u5";
				if (version == eGameVersion::Version104) return "1.0.4.0 u4";
				return version.ToString();
			}
		}
		static property u32 GameVersion
		{
			u32 get()
			{
				GTA::eGameVersion version = (eGameVersion) Game::GetVersion();
				return (u32)version;
			}
		}



	};


};